import {getLoginCode, sendCode2Token, checkToken, checkSessionKey} from './service/api_login'

// 全局保存的数据, 缺陷:不是响应式
App({
	globalData: {
		screenWidth: 0,
		screenHeight: 0,
		statusBarHeight: 0
	},
	// 小程序启动执行函数
	async onLaunch() {
		// 1.获取设备信息
		const info = wx.getSystemInfoSync()
		this.globalData.screenHeight = info.screenHeight
		this.globalData.screenWidth = info.screenWidth
		this.globalData.statusBarHeight = info.statusBarHeight

		// 2.让用户默认进行登录
		this.defaultLogin()

		// 3.获取用户信息,在home-profile
	},

	async defaultLogin(){
		const token = wx.getStorageSync('token') || ''

		// 判断token是否过期
		const result = await checkToken(token)

		// 判断session是否过期
		const isSession = await checkSessionKey()
		
		if(!token || result.errorCode || !isSession) {
			console.log('重新获取~');
			this.loginAction()
		}
	},
	
	async loginAction() {
		// 获取code
		const code = await getLoginCode()
		// 将code发送到服务器
		const result = await sendCode2Token(code)
		const token = result.token
		wx.setStorageSync('token', token)
	}
})
